package com.mm.cme.kotlin_001.level03_object_oriented_program.static_fun

/**
 * Descriptions：kotlin中的静态
 * <p>
 * Author：ChenME
 * Date：2017/7/18
 * Email：ibelieve1210@163.com
 */
fun main(args: Array<String>) {
    val latitude = Latitude.ofDouble(30.0)
    val latitude2 = Latitude.ofLatitude(latitude)

}

class Latitude private constructor(val value: Double) {

    companion object {

        //使用@JvmStatic修饰后，该静态方法就可以通过雷鸣直接调用了
        @JvmStatic fun ofDouble(double: Double): Latitude {
            return Latitude(double)
        }

        fun ofLatitude(latitude: Latitude): Latitude {
            return Latitude(latitude.value)
        }

        //静态变量
        @JvmField val Tag: String = "latitude"
    }
}